diff --git a/system/core/Loader.php b/system/core/Loader.php
index 51e6b82..edf5853 100755
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -1177,10 +1177,10 @@
 		// Autoload drivers
 		if (isset($autoload['drivers']))
 		{
-            foreach ($autoload['drivers'] as $item)
-            {
-			    $this->driver($item);
-            }
+			foreach ($autoload['drivers'] as $item)
+			{
+				$this->driver($item);
+			}
 		}
 
 		// Autoload models
diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index c3bcc25..80c0e28 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -32,29 +32,29 @@
 	protected $valid_drivers	= array();
 	protected $lib_name;
 
-    /**
-     * Get magic method
-     *
+	/**
+	 * Get magic method
+	 *
 	 * The first time a child is used it won't exist, so we instantiate it
 	 * subsequents calls will go straight to the proper child.
-     *
-     * @param   string  Child class name
-     * @return  object  Child class
-     */
+	 *
+	 * @param   string  Child class name
+	 * @return  object  Child class
+	 */
 	public function __get($child)
 	{
-        // Try to load the driver
+		// Try to load the driver
 		return load_driver($child);
-    }
+	}
 
-    /**
-     * Load driver
-     *
+	/**
+	 * Load driver
+	 *
 	 * Separate load_driver call to support explicit driver load by library or user
-     *
-     * @param   string  Child class name
-     * @return  object  Child class
-     */
+	 *
+	 * @param   string  Child class name
+	 * @return  object  Child class
+	 */
 	public function load_driver($child)
 	{
 		if ( ! isset($this->lib_name))
